home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 201-225 / disk_204 / filereq / filereq.h < prev    next >
C/C++ Source or Header  |  1992-05-06  |  6KB  |  198 lines

  1. #include <exec/memory.h>
  2. #include <libraries/dosextens.h>
  3. #include <exec/devices.h>
  4. #include <intuition/intuitionbase.h>
  5. #include <graphics/gfxbase.h>
  6. #include <hardware/cia.h>
  7. #include <stdio.h>
  8.  
  9. struct FileList {
  10.     char fl_filename[31];
  11.     int fl_filetype;
  12. };
  13.  
  14. /* Image-Ed Image generation */
  15.  
  16. /* Start of Image data */
  17. USHORT MoveDownUpImageData[]={
  18.     /* Plane 0 */
  19.     0xffe0, 0x8020, 0x8e20, 0x8e20, 0x8e20, 0x8e20, 0xbfa0, 0x9f20, 
  20.     0x8e20, 0x8420, 0x8020, 0xffe0, 0x0000
  21. };
  22. /* End of Image data */
  23.  
  24. struct Image MoveDownUpImage={
  25.     0,0, /* LeftEdge, TopEdge */
  26.     12,13,1, /* Width, Height, Depth */
  27.     &MoveDownUpImageData[0], /* ImageData */
  28.     0x1,0x0, /* PlanePick, PlaneOnOff */
  29.     NULL /* Next Image */
  30. };
  31.  
  32. /* Start of Image data */
  33. USHORT MoveUpUpImageData[]={
  34.     /* Plane 0 */
  35.     0xffe0, 0x8020, 0x8420, 0x8e20, 0x9f20, 0xbfa0, 0x8e20, 0x8e20, 
  36.     0x8e20, 0x8e20, 0x8020, 0xffe0, 0x0000
  37. };
  38. /* End of Image data */
  39.  
  40. struct Image MoveUpUpImage={
  41.     0,0, /* LeftEdge, TopEdge */
  42.     12,13,1, /* Width, Height, Depth */
  43.     &MoveUpUpImageData[0], /* ImageData */
  44.     0x1,0x0, /* PlanePick, PlaneOnOff */
  45.     NULL /* Next Image */
  46. };
  47.  
  48. /* Start of Image data */
  49. USHORT MoveDownDownImageData[]={
  50.     /* Plane 0 */
  51.     0xffe0, 0xffe0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xc060, 0xe0e0, 
  52.     0xf1e0, 0xfbe0, 0xffe0, 0xffe0, 0x0000
  53. };
  54. /* End of Image data */
  55.  
  56. struct Image MoveDownDownImage={
  57.     0,0, /* LeftEdge, TopEdge */
  58.     12,13,1, /* Width, Height, Depth */
  59.     &MoveDownDownImageData[0], /* ImageData */
  60.     0x1,0x0, /* PlanePick, PlaneOnOff */
  61.     NULL /* Next Image */
  62. };
  63.  
  64. /* Start of Image data */
  65. USHORT MoveUpDownImageData[]={
  66.     /* Plane 0 */
  67.     0xffe0, 0xffe0, 0xfbe0, 0xf1e0, 0xe0e0, 0xc060, 0xf1e0, 0xf1e0, 
  68.     0xf1e0, 0xf1e0, 0xffe0, 0xffe0, 0x0000
  69. };
  70. /* End of Image data */
  71.  
  72. struct Image MoveUpDownImage={
  73.     0,0, /* LeftEdge, TopEdge */
  74.     12,13,1, /* Width, Height, Depth */
  75.     &MoveUpDownImageData[0], /* ImageData */
  76.     0x1,0x0, /* PlanePick, PlaneOnOff */
  77.     NULL /* Next Image */
  78. };
  79.  
  80. /* End of Image-Ed Image generation */
  81.  
  82. #define MOVEUP 10
  83. #define MOVEDOWN 11
  84. #define UPDOWN 12
  85. #define PATH 13
  86. #define FILE 14
  87. #define PARENT 15
  88. #define OKAY 16
  89. #define CANCEL 17
  90.  
  91. struct Gadget MoveUpGadget={
  92.     NULL,250,25,12,13,GADGHIMAGE|GADGIMAGE,RELVERIFY|GADGIMMEDIATE,BOOLGADGET,
  93.     (APTR)&MoveUpUpImage,(APTR)&MoveUpDownImage,NULL,NULL,NULL,MOVEUP,NULL};
  94.  
  95. struct Gadget MoveDownGadget={
  96.     &MoveUpGadget,250,113,12,13,GADGHIMAGE|GADGIMAGE,RELVERIFY|GADGIMMEDIATE,
  97.     BOOLGADGET,(APTR)&MoveDownUpImage,(APTR)&MoveDownDownImage,NULL,NULL,NULL,
  98.     MOVEDOWN,NULL};
  99.  
  100. struct PropInfo UDInfo={
  101.     AUTOKNOB|FREEVERT,0,0,0,0xffff};
  102. struct Image UDImage;
  103. struct Gadget UDGadget={
  104.     &MoveDownGadget,250,38,11,74,GADGHNONE|GADGIMAGE,
  105.     RELVERIFY|GADGIMMEDIATE,PROPGADGET,(APTR)&UDImage,
  106.     NULL,NULL,NULL,(APTR)&UDInfo,UPDOWN,NULL};
  107.  
  108. short PathXYBorder[]={
  109.     -2,-1,253,-1,253,10,-2,10,-2,-1};
  110. struct Border PathBorder={
  111.     -1,-1,1,0,JAM1,5,PathXYBorder,NULL};
  112. char pathdobuffer[256],pathundobuffer[256];
  113. struct StringInfo PathInfo={
  114.     pathdobuffer,pathundobuffer,0,256,0};
  115. struct Gadget PathGadget={
  116.     &UDGadget,8,14,250,9,GADGHCOMP,TOGGLESELECT|RELVERIFY,STRGADGET,
  117.     (APTR)&PathBorder,NULL,NULL,NULL,(APTR)&PathInfo,PATH,NULL};
  118. char filedobuffer[31],fileundobuffer[31];
  119. struct StringInfo FileInfo={
  120.     filedobuffer,fileundobuffer,0,31,0};
  121. struct Gadget FileSGadget={
  122.     &PathGadget,8,128,250,9,GADGHCOMP,TOGGLESELECT|RELVERIFY,STRGADGET,
  123.     (APTR)&PathBorder,NULL,NULL,NULL,(APTR)&FileInfo,FILE,NULL};
  124.  
  125. short ParentXYBorder[]={
  126.     0,0,54,0,54,10,0,10,0,0};
  127. struct Border ParentBorder={
  128.     -1,-1,1,0,JAM1,5,ParentXYBorder,NULL};
  129. struct IntuiText ParentText={
  130.     1,0,JAM2,3,1,NULL,(UBYTE *)"PARENT",NULL};
  131. struct Gadget ParentGadget={
  132.     &FileSGadget,106,140,53,9,GADGHCOMP,RELVERIFY,BOOLGADGET,
  133.     (APTR)&ParentBorder,NULL,(APTR)&ParentText,NULL,NULL,PARENT,NULL};
  134. struct IntuiText OkayText={
  135.     1,0,JAM2,11,1,NULL,(UBYTE *)"OKAY",NULL};
  136. struct Gadget OkayGadget={
  137.     &ParentGadget,6,140,53,9,GADGHCOMP,RELVERIFY,BOOLGADGET,
  138.     (APTR)&ParentBorder,NULL,(APTR)&OkayText,NULL,NULL,OKAY,NULL};
  139. struct IntuiText CancelText={
  140.     1,0,JAM2,3,1,NULL,(UBYTE *)"CANCEL",NULL};
  141. struct Gadget CancelGadget={
  142.     &OkayGadget,207,140,53,9,GADGHCOMP,RELVERIFY,BOOLGADGET,
  143.     (APTR)&ParentBorder,NULL,(APTR)&CancelText,NULL,NULL,CANCEL,NULL};
  144.  
  145. struct IntuiText FileGadgetText[10]={
  146.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  147.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  148.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  149.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  150.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  151.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  152.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  153.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  154.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL},
  155.     {1,0,JAM2,1,1,NULL,(UBYTE *)"",NULL}};
  156.  
  157. struct Gadget FileGadget[10]={
  158.     {&FileGadget[1],5,25,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  159.     NULL,NULL,(APTR)&FileGadgetText[0],NULL,NULL,0,NULL},
  160.     {&FileGadget[2],5,35,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  161.     NULL,NULL,(APTR)&FileGadgetText[1],NULL,NULL,1,NULL},
  162.     {&FileGadget[3],5,45,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  163.     NULL,NULL,(APTR)&FileGadgetText[2],NULL,NULL,2,NULL},
  164.     {&FileGadget[4],5,55,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  165.     NULL,NULL,(APTR)&FileGadgetText[3],NULL,NULL,3,NULL},
  166.     {&FileGadget[5],5,65,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  167.     NULL,NULL,(APTR)&FileGadgetText[4],NULL,NULL,4,NULL},
  168.     {&FileGadget[6],5,75,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  169.     NULL,NULL,(APTR)&FileGadgetText[5],NULL,NULL,5,NULL},
  170.     {&FileGadget[7],5,85,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  171.     NULL,NULL,(APTR)&FileGadgetText[6],NULL,NULL,6,NULL},
  172.     {&FileGadget[8],5,95,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  173.     NULL,NULL,(APTR)&FileGadgetText[7],NULL,NULL,7,NULL},
  174.     {&FileGadget[9],5,105,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  175.     NULL,NULL,(APTR)&FileGadgetText[8],NULL,NULL,8,NULL},
  176.     {&CancelGadget,5,115,242,10,GADGHCOMP,RELVERIFY,BOOLGADGET,
  177.     NULL,NULL,(APTR)&FileGadgetText[9],NULL,NULL,9,NULL}};
  178.  
  179. struct NewWindow filewin={
  180.     10,10,266,152,0,1,CLOSEWINDOW|GADGETUP|GADGETDOWN|MOUSEBUTTONS,
  181.     WINDOWCLOSE|ACTIVATE|WINDOWDRAG|RMBTRAP|SMART_REFRESH,
  182.     &FileGadget[0],NULL,"File Requester",NULL,NULL,0,0,0,0,CUSTOMSCREEN};
  183.  
  184. struct Window *Window;
  185. struct IntuitionBase *IntuitionBase;
  186. struct GfxBase *GfxBase;
  187. struct FileList files[1000];
  188. int filecount,oldoffset,offset;
  189. struct IntuiMessage *FMsg;
  190. USHORT vertpot;
  191. char filename[300];
  192. struct DeviceList *devlist;
  193. struct RootNode *rootnode;
  194. struct DosInfo *dosinfo;
  195. struct DosBase *DosBase;
  196. char *devname;
  197. BOOL deviceslisted=FALSE;
  198.